package com.ruoyi.system.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.core.domain.FileObject;
import com.ruoyi.system.domain.typehandler.FileObjectTypeHandler;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;
import java.util.List;

/**
 * 用户反馈对象 t_feedback
 * 
 * @author wp
 * @date 2023-08-10
 */
@NoArgsConstructor
@AllArgsConstructor
@Data
@Accessors(chain = true)
@TableName(value = "t_feedback", excludeProperty = "remark")
public class Feedback extends BaseEntity {

    /** id */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;

    /** 用户id */
    @ApiModelProperty("用户id")
    private Long userId;

    /** 联系号码 */
    @ApiModelProperty("联系号码")
    private String phoneNumber;

    /** 反馈详情 */
    @ApiModelProperty("反馈详情")
    private String feedbackDetails;

    /** 图片列表 json list */
    @ApiModelProperty("图片列表")
    @TableField(typeHandler = FileObjectTypeHandler.class)
    private List<FileObject> imageList;

    /** 是否删除0否1是 */
    @ApiModelProperty("是否删除0否1是")
    private String isDel;

    @ApiModelProperty("开始时间")
    @TableField(exist = false)
    @JsonIgnore
    private String startTime;

    @ApiModelProperty("结束时间")
    @TableField(exist = false)
    @JsonIgnore
    private String endTime;

    @TableField(exist = false)
    private String createUserName;
}
